package com.amadeus.spin.devtool.soap.shooter;

import org.w3c.dom.Node;

/**
 * Interface defining a plugable process, that will be applied to a given reply
 * after the actual call to the server.
 */
public interface ProcessOutput {

  /**
   * @param input
   *          XML string the shooter is going to send, comes from a file.
   * @param config
   *          configuration node (DOM sub-document)
   * @param shooter
   *          used to get session information
   * @return String XML string to be used as request, potentially updated by the
   *         process.
   * @throws FatalException
   *           stop shooter process (scenario halted).
   */
  void processOutput(String input, Node config,
      com.amadeus.spin.util.soapshooter.Shooter shooter)
      throws FatalException;
}